Data about the state of a camera (e.g., such as focal length, pan angle, tilt angle, zoom level and XYZ position in space) can be used in conjunction with images from the camera for many purposes, including inserting virtual graphics in perspective in images captured by the camera, using the camera as a measurement tool in order to track a moving object, or for other tasks. When using this data about the state of the camera, other information is necessary to interpret or use the data. Such information is referred to as camera parameters. The process for determining the camera parameters is referred to as camera registration.
It is well known in the art to simultaneously register a camera and to improve the accuracy of estimates of the 3D position of well-identified points in the scene. This simultaneous solving is known in the art as Bundle Adjustment (BA). Estimating 3D elements in a scene captured from a moving camera or from multiple viewpoints, called Structure from Motion (SfM), is also well known in the art. More generally, simultaneously solving for camera parameters and constructing a three dimensional (3D) model of the environment is known in the art as Simultaneous Localizaiton And Mapping (SLAM). SLAM can use BA or other methods, including Extended Kalman Filters (EKF), Unscented Kalman Filters (UKF) and particle filters. Sometimes well-identified points in the scene have well-known 3D locations, and such points are called Control Points (CPs). BA takes the prior known accuracy of positions of well-identified points into account in simultaneously improving position estimates. It is also known in the art to use lines and conic sections in addition to control points.
3D models, especially models that represent surfaces in 3D space, are also relevant. 3D Models are well known in the art, including terrain models, animated character models, and architectural models. Such models are typically made by artists using computer-based modeling tools, resulting in a machine readable model. One such tool is Texture Mapping, which involves mapping an image or portion of an image, onto a surface of a model. Texture Mapping may also be regarded as a computerized form of painting with a brush or applying a decal to create detail and texture in a model.
It is common to register a single camera or register many cameras one at a time or register a single moving, panning, tilting and zooming camera many times (e.g., once per image captured). It is also well known in photogrammetry to simultaneously register multiple cameras viewing overlapping scenes.